Im ersten Schritt der Reconnaissance werden grundlegende Informationen über das Zielsystem gesammelt.
Der ARP-Scan identifiziert die MAC-Adresse und den Hersteller der Netzwerkkarte des Zielsystems.
Der Eintrag in der `/etc/hosts`-Datei ordnet die IP-Adresse dem Hostnamen zu.
Ein Nmap-Scan wird durchgeführt, um offene Ports und Dienste zu identifizieren.
Der erste Nmap-Scan zeigt, dass die Ports 22 (SSH) und 80 (HTTP) geöffnet sind.
Ein detaillierterer Nmap-Scan bestätigt die Ergebnisse und zeigt, dass es sich um einen Debian-Server handelt, der Apache httpd 2.4.38 verwendet. Die Datei `save.zip` wird im HTTP-Root-Verzeichnis gefunden.
Die HTTP-Header werden mit curl untersucht.
Die HTTP-Header bestätigen den Apache-Server und den Content-Type.
Nikto wird verwendet, um die Webanwendung auf bekannte Schwachstellen zu scannen.
Nikto findet mehrere interessante Punkte, darunter fehlende Sicherheitsheader, die veraltete Apache-Version und Directory Indexing.
Gobuster wird verwendet, um weitere Verzeichnisse und Dateien auf dem Webserver zu entdecken.
Gobuster bestätigt, dass `save.zip` vorhanden ist.
Um initialen Zugriff auf das System zu erhalten, wird die Datei `save.zip` heruntergeladen.
Die Datei `save.zip` wurde erfolgreich heruntergeladen.
Die Datei `save.zip` wird entpackt, um die darin enthaltenen Dateien zu analysieren.
Die Archivdatei ist passwortgeschützt. Der nächste Schritt ist das Knacken des Passworts, um auf die enthaltenen Dateien zugreifen zu können.
Die Archivdatei wird mit zip2john in ein Format konvertiert, das von John the Ripper verarbeitet werden kann.
Das Format wurde erfolgreich konvertiert.
John the Ripper wird verwendet, um das Passwort der `save.zip`-Datei zu knacken.
Das Passwort der `save.zip`-Datei wurde geknackt! Das Passwort ist `manuel`.
Die `save.zip`-Datei wird mit dem gefundenen Passwort entpackt.
Die Dateien wurden erfolgreich entpackt.
Die entpackten Dateien werden aufgelistet.
Die entpackten Dateien befinden sich im Verzeichnis `etc`.
Die Dateien im Verzeichnis `etc` werden aufgelistet.
Das Verzeichnis enthält wichtige Systemdateien wie `passwd`, `shadow`, `group` und `sudoers`.
Es wird geprüft, ob der Benutzer `bash` verwendet.
Der Benutzer `296640a3b825115a47b68fc44501c828` verwendet `rbash`, eine eingeschränkte Version von Bash.
Die Inhalte der Dateien `shadow` und `passwd` werden in separate Dateien kopiert.
Die Dateien `passwd` und `shadow` werden mit dem Befehl `unshadow` zusammengeführt, um eine Datei zu erstellen, die von John the Ripper verarbeitet werden kann.
Die Dateien wurden erfolgreich zusammengeführt.
John the Ripper wird verwendet, um das Passwort des Benutzers `296640a3b825115a47b68fc44501c828` zu knacken.
Das Passwort für den Benutzer wurde geknackt: `server`.
Es wird versucht, sich mit dem Benutzernamen und Passwort über SSH anzumelden.
Der Zugriff auf Root war nicht möglich.
Es wird versucht, sich mit dem Benutzernamen und Passwort über SSH anzumelden, und den Benutzernamen zu verwenden: `296640a3b825115a47b68fc44501c828`
Die Anmeldung war erfolgreich!
Die Shell ist aber aber rbash (restricted bash):
Da der Zugriff über SSH möglich ist, aber auf eine eingeschränkte Bash-Shell (rbash) beschränkt ist, wird versucht, diese Einschränkung zu umgehen.
Man versucht, die Shell zu umgehen indem die sh als Ziel angegeben wird.
Der befehl wird durch die restricted bash verhindert
Es wird ein anderer Versuch unternommen, die rbash zu umgehen, indem die Option `--noprofile` verwendet wird.
Die rbash wurde erfolgreich umgangen.
Nachdem die rbash umgangen wurde, wird nach SUID- und GUID-Dateien gesucht.
Es wurde in das `/tmp`-Verzeichnis gewechselt und erneut nach GUID-Dateien gesucht.
Das Verzeichnis `/tmp` wird aufgelistet, um interessante Dateien zu finden. Die Datei `honeypot.decoy` ist besonders interessant.
Der Inhalt der Datei `user.txt` wird angezeigt.
Die nächste Phase der Privilege Escalation beinhaltet das Ausnutzen einer $PATH-Hijacking-Schwachstelle.
Das Programm `honeypot.decoy` wird ausgeführt. Es simuliert einen Administrator-Manager.
Es wird die AV Scan Option ausgführt
Das Tool `pspy` wird verwendet, um die vom System ausgeführten Prozesse zu überwachen.
Die Ausgabe von `pspy` zeigt, dass ein Prozess mit Root-Rechten `tar -xvzf chkrootkit-0.49.tar.gz` ausführt. Dies ist eine Gelegenheit für $PATH-Hijacking.
Es wird versucht ein Reverse Shell zu erhalten
Ein Reverse-Shell-Befehl wird in die Datei `update` geschrieben.
Der Befehl `chmod` kann nicht ausgeführt werden, da er in der eingeschränkten Shell nicht verfügbar ist.
Der vollständige Pfad zum Befehl `chmod` wird verwendet, um die Ausführungsberechtigung für die Datei `update` zu erteilen.
Der Reverse Shell wird vorbereitet.
Ein Netcat-Listener wird auf Port 4444 gestartet, um die Reverse-Shell-Verbindung zu empfangen.
Das Programm `honeypot.decoy` wird erneut ausgeführt und Option 5 (AV Scan) ausgewählt.
Durch das Ausnutzen der $PATH-Hijacking-Schwachstelle und das Ausführen des AV-Scans mit Root-Rechten sollte eine Reverse-Shell-Verbindung hergestellt werden.
Die Reverse-Shell-Verbindung wurde erfolgreich hergestellt!
Es wird geprüft mit welchen Rechten die Sitzung hergestellt wurde.
Die Ausgabe zeigt die Liste der Dateien.
.......... .......|....................... .:;;;;;;;;;;;:.... . \ | ../....;;;;:....... . ........... / \\_ \ | / ...... . ........./\ ...:../\\_ ...... ..._/' \\\_ \#/ /\_ .../ \_....... _// ../ \\\ _ .../\ /' \\\\#// \/\ // \_ ....//// _/ \\\\ _/ \\\ / x \\\\ //// \//// \__ _///// ./ x \\\/ \/ x X \////// \///// / XxX \\/ XxX X //// x --XxX-|-XxX--*--|*--|X--
X _X * X x * X _X _X x * x X_
1c203242ab4b4509233ca210d50d2cc5
Thanks for playing! - Felipe Winsnes (@whitecr0wz)
Der Inhalt der Datei `root.txt` wird angezeigt, was den erfolgreichen Root-Zugriff bestätigt.